package interfaces;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;

import model.Hospedagem;
import model.Hospede;
import model.Hotel;

public interface IFHotelController extends Remote {

	public Hotel criarHotel(String nome, String gerente, Integer numeroDeQuartos) throws RemoteException;
	
	public List<Hotel> getAllHoteis() throws RemoteException;
	
	public List<Hospede> getAllHospedes() throws RemoteException;
	
	public List<Hospedagem> getAllHospedagens() throws RemoteException;
	
	public List<Hospedagem> getAllReservas() throws RemoteException;
	
	public Hospede criarHospede(String nome, String telefone, String Endereco, String email, String cpf) throws RemoteException;
	
	public Hospedagem criarHospedagem(Integer idHospede, Integer idHotel, int numQuarto, String dataChegada, String dataSaida, boolean isReserva) throws RemoteException;
	
	public Hospede findHospedeByCpf(String cpf) throws RemoteException;
	
	public Boolean encerrarHospedagem(Integer idHospedagem) throws RemoteException;
	
	public Boolean cancelarReserva(int idHospedagem) throws RemoteException;
	
	public Hospedagem getReserva(Hospede hospede) throws RemoteException;

}
